2020-2021 Sunseeker Telemetry and Lighting System
pmm_ex3_lowCurrentConsumption.c File Reference
#include "driverlib.h"

Go to the source code of this file.

Macros

#define DUTY_CYCLE1   32
 
#define TIMER_PERIOD   40
 

Functions

void main (void)
 
void TIMER0_A1_ISR (void)
 

Macro Definition Documentation

◆ DUTY_CYCLE1

#define DUTY_CYCLE1   32

The PMM is at default core level 0. The SVS high side (Vcc) is configured for Normal Performance mode. The SVS low side (Vcore) is configured for Normal Performance mode. Both SVS low side and SVS high side are disabled in LPM3 Specs: Wake up from interrupt: 100us* Response to SVS event (propogation delay): 20us* Current consumption by SVS: 400nA* (SVSL = SVSH = 200nA) //!Note: Refer to the device D/s for actual values

The timer outputs a PWM with a frequency ~800Hz. The LED at P1.0 is toggled on entry into the ISR. The time difference between PWM event and LED toggle = SVS wakeup time + interrupt latency + LED turn on = ~160+us.

NOTE: TERMINATE THE DEBUG SESSION BEFORE TESTING THIS EXAMPLE Refer section 2.2.8.1 for debug impact on SVS

ACLK = REFO = TACLK = ~32KHz, MCLK = SMCLK = default DCO ~1.045MHz

     MSP430F54xA
   ---------------
/ |
RST
TA0.4 --> output from timer
P1.0 --> LED

This example uses the following peripherals and I/O signals. You must review these and change as needed for your own board:

  • PMM peripheral
  • GPIO Port peripheral

This example uses the following interrupt handlers. To use this example in your own application you must add these interrupt handlers to your vector table.

  • Timer0_A5.

Definition at line 74 of file pmm_ex3_lowCurrentConsumption.c.

◆ TIMER_PERIOD

#define TIMER_PERIOD   40

Definition at line 75 of file pmm_ex3_lowCurrentConsumption.c.

Function Documentation

◆ main()

void main ( void  )

◆ TIMER0_A1_ISR()

void TIMER0_A1_ISR ( void  )

Definition at line 192 of file pmm_ex3_lowCurrentConsumption.c.